<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>印章页面</title>
    <script type="text/javascript" src='js/main.js'></script>
    <script type="text/javascript" src="otherslib/lib/vue.min.js"></script>
    <style type="text/css">
        * {
            box-sizing: border-box;
        }

        /*清除浮动*/
        .clear:after {
            content: "";
            display: block;
            clear: both;
        }

        html,
        body,
        #seal {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
        }

        .row {
            width: 100%;
            border-top: 2px solid #e7e7e7;
        }

        .row>div {
            height: 100%;
        }

        #seal_name,
        #seal_password {
            width: 38%;
            float: left;
            margin-left: 15px;
        }

        .seal_control {
            height: 60%;
            font-size: 16px;
        }

        #seal_load {
            width: 13%;
            float: right;
            margin-right: 35px;
        }

        #seal_load>button {
            width: 100%;
        }

        #btnBox {
            padding-left: 75%;
            line-height: 4em;
        }

        #btnBox>div {
            display: inline-block;
            width: 47%;
        }

        #btnBox button {
            height: 60%;
            width: 90%;
            font-size: 14px;
        }
    </style>
</head>

<body>
    <div id="seal">
        <div class="row clear" style="height: 15%;padding-top: 2%;">
            <div id="seal_name">
                <span>印章名称：</span>
                <select class="seal_control" v-model="sealItem" style="width: 60%;" @change="vm.loadSeal()">
                    <option value="-1">请选择印章</option>
                    <option v-for="(item,index) in seals" :key="index" :value="item.signatureID">{{item.MarkName}}</option>
                </select>
            </div>
            <!-- <div id="seal_password">
                <span>密码：</span>
                <input class="seal_control" type="password" v-model="sealPassword" placeholder="请输入密码" />
            </div>
            <div id="seal_load">
                <button class="seal_control" @click="vm.loadSeal()">盖章</button>
            </div> -->
        </div>
        <div id="seal_preview" class="row" style="height: 70%;padding-top: 5%;overflow: auto;">
            <img :src="seal" v-if="visible" style="width: 50%;height: 85%;" draggable="false">
        </div>
        <div id="btnBox" class="row" style="height: 15%;">
            <div>
                <button type="button" @click="vm.doSeal()">确定</button>
            </div>
            <div>
                <button type="button" @click="vm.cancle()">取消</button>
            </div>
        </div>
    </div>
</body>

</html>

<script>
    var vm = new Vue({
        el: "#seal",
        data: {
            seals: [], //印章下拉框数据
            sealItem: -1,      // 选中的印章
            sealPassword: "",   // 印章密码
            seal: "",           // 中间区域显示的印章图片路径
            visible: false,     // 是否显示中间区域的印章图片
            picPath: ""         // 印章图片路径(插入文档使用)
        },
        methods: {
            // 取消按钮
            cancle: function () {
                window.close();     // 大概率引发WPS程序窗口最小化
                wps.OAAssist.ShellExecute("ksowebstartupwps://");   // 将WPS程序置前
            },
            // 获取印章下拉框数据
            getAllSeal: function () {
                var l_doc = wps.WpsApplication().ActiveDocument;
                var l_sealData = GetDocParamsValue(l_doc, "sealData");
                if (typeof (l_sealData) == undefined || l_sealData == null || l_sealData == "") {
                    // alert("未传入有效的印章数据,下拉框加载失败!");
                    // return;
                    l_sealData=[{
                        MarkName:"测试印章1",
                        signatureID:1
                    },{
                        MarkName:"测试印章2",
                        signatureID:2
                    }]
                }
                this.seals = l_sealData;
                console.log("数据：",l_sealData);
            },
            loadSeal: function () {
                if (this.sealItem == "" || this.sealItem == -1) {
                    this.visible = false;
                    this.picPath = "";
                    this.seal = "";
                    alert("请选择印章!");
                    return;
                }

                //静态印章
                this.visible = true;
                this.picPath = getHtmlURL("template/OA模板公章.png");
                this.seal = getHtmlURL("template/OA模板公章.png");
                //后台获取 印章
                // if (this.sealPassword == "") {
                //     alert("请输入密码!");
                //     return;
                // }
                // var doc = wps.WpsApplication().ActiveDocument;
                // var url = GetDocParamsValue(doc, "validatePath");//印章验证接口
                
                // if (url == "") {
                //     alert("未传入有效的印章验证URL,盖章失败!");
                //     return;
                // }
                // url += "&signatureID=" + this.sealItem + "&passwd=" + this.sealPassword;
                // this.$http.get(url).then(function (res) {
                //     var data = res.body;
                //     if (data.code == "0") {
                //         this.visible = true;
                //         this.picPath = data.url;
                //         this.seal = this.picPath;
                //     } else {
                //         this.picPath = "";
                //         this.$Message.error(data.message);
                //     }
                // }, function () {
                //     console.log("获取响应失败");
                // });
            },
            doSeal: function () {
                var l_doc = wps.WpsApplication().ActiveDocument;
                if (!l_doc) {
                    return;
                }
                OnInsertPicToDoc(l_doc, this.picPath, 95, 95,()=>{
                    window.opener = null;
                    window.open('', '_self', '');
                    window.close();
                });  // 调用插入图片函数
                
            }
        },
        mounted: function () {
            this.getAllSeal();
        }
    });
</script>